//:C11:FreeStandingRefreences.cpp
#include <iostream>
using namespace std;
// Ordinary free-stangding reference:
int y;
int &r = y;
// When a reference is created, it must
// be initialized to a live object
const int &q = 12;    // (1)
// References are tied to someone else's storage
int x = 0;    // (2)
int &a = x;   // (3)
int main(void)
{
    cout << "x = " << x << ", a = " << a << endl;
    a++;
    cout << "x = " << x << ", a = " << a << endl;
}